草庐IT

php - 正则表达式 str_replace

全部标签

javascript - 为什么这个表达式在 JavaScript 中被评估为 "a"?

这个问题在这里已经有了答案:Whyandhowdoes([![]]+[][[]])[+!+[]+[+[]]]evaluatetotheletter"i"?[duplicate](2个答案)关闭5年前。我得到了一些混淆的JavaScript代码。我试图理解它,然后在控制台中输入了一些片段。我不明白为什么>((!!+[]+"")[+!![]])为什么((!!+[]+"")[+!![]])在JavaScript中等于"a"?是否有其他代码片段可以获取其他字母?我想这与自动转换有关。

javascript - 使用 JavaScript 的 replace() 方法对变量进行全局切换

在我无法弄清楚它如何单独工作之后,我无法举出任何例子。我想要做的就是获取一个已分配给一个值的字符串,并将其用作所有匹配项的替换匹配字符串。varreplacement='i';vartext='tieiam';text=text.replace(replacement,'');//'teiam'text=text.replace(/tieiam/g,'');//'team'如何一起使用它们? 最佳答案 你想要的是使用RegExp对象:text=text.replace(newRegExp(replacement,'g'),'');S

javascript - 匹配来自单个正则表达式的文件名和文件扩展名

我确信这一定很容易,但我正在努力...varregexFileName=/[^\\]*$/;//matchfilenamevarregexFileExtension=/(\w+)$/;//matchfileextensionfunctiondisplayUpload(){varpath=$el.val();//Thisisafileinputvarfilename=path.match(regexFileName);//returnsfilenamevarextension=filename[0].match(regexFileExtension);//returnsextension

javascript - 在字符串中查找所有匹配的正则表达式模式和匹配索引

我想在AA-AA-AA主题字符串中找到/AA/模式。我需要获取匹配的字符串和匹配的位置(索引)。我看过RegExp.prototype.exec().它只返回第一个匹配项:/AA/g.exec('AA-AA-AA') 最佳答案 exec()只返回一个匹配项。要使用globalregexp获取所有匹配项,您必须重复调用它,例如:varmatch,indexes=[];while(match=r.exec(value))indexes.push([match.index,match.index+match[0].length]);

javascript - 允许退格的javascript中的正则表达式

我的允许字符、数字、点和下划线的正则表达式是varnumericReg=/^[a-zA-Z0-9\._]+$/;我怎么能在这个regex.中允许退格? 最佳答案 您可以使用[\b]来匹配退格键。所以,只需将它添加到您的Angular色类中:-varnumericReg=/^[a-zA-Z0-9._\b]+$/;请注意,您不需要对字符类中的点(.)进行转义。里面没有什么特别的意思。另见:-http://www.regular-expressions.info/reference.html更多转义序列和正则表达式模式。

正则表达式的 JavaScript 小数位限制

我有一些针对文本框的客户端验证,它只允许最多两位小数的数字,没有其他输入。此脚本仅作为输入数值的基础,但需要对其进行调整,以便它可以采用小数点后跟最多两位小数。我已经尝试过诸如/[^\d].\d{0,2}之类的东西,但是替换调用不起作用,我不知道如何去做。代码functionvalid(f){if(!/^\d*$/.test(f.value)){f.value=f.value.replace(/[^\d]/g,"");alert("Invalidnumber");}}注意事项我需要匹配一个空字符串。如果提供空字符串并提交表单,则该值默认返回零。 最佳答案

javascript - AngularJS ngMessages 无法绑定(bind)到 $index 表达式

我正在构建一个Angular表单,它需要ngRepeat中的可重复表单元素。Thisisrequired{{form|json:4}}Angular现在支持动态声明的input名称,因此您不必执行以下操作:并且您可以在ngRepeat中使用{{$index}}来动态声明项。但这似乎不适用于ngMessages,当我尝试将索引绑定(bind)到其中时会抛出错误。即这个:抛出这个:Error:[$parse:syntax]SyntaxError:Token'{'isanunexpectedtokenatcolumn16oftheexpression[form.something_{{$in

javascript - ES6 使用正则表达式过滤数组

我正在尝试过滤包含一堆url的数组。我需要返回只包含单词“contact”的url。例如有一个链接https://www.example.com/v1/contact-us/ca这应该从过滤器返回。我试过这个:constregex=newRegExp("/\bcontact\b",'g')sites.links.filter((val)=>{console.log(regex.test(val.href))})当我知道有一个域包含单词“contact”时,它目前只是通过所有域发回false。 最佳答案 首先newRegExp('/\

javascript - 正则表达式删除每行开头的空格?

我想删除每行开头的空格。我在每一行中都有数据,开头有一组空格,所以数据出现在中间,我想删除每一行开头的空格。tmp=tmp.replace(/(]+)>)/g,"")如何将^\s条件添加到replace()中? 最佳答案 删除所有前导空格:str=str.replace(/^+/gm,'');正则表达式非常简单-开头有一个或多个空格。更有趣的位是标志-/g(全局)替换所有匹配项而不仅仅是第一个,以及/m(多行)以便插入符号匹配开头每行的开头,而不仅仅是字符串的开头。工作示例:http://jsbin.com/oyeci4

javascript - RegExp.test() 根据调用方式(在哪里?)为相同的 str 返回不同的结果

我刚刚注意到一个奇怪的JS行为导致了一个烦人的错误..基本上,我在if语句中使用RegExp对象(.test()方法)测试str。对于相同的测试字符串,如果在我的代码中只有一个if,则regexp.test()返回true并且可以正常进入if。问题是如果我有一个else(我需要它),出于某种原因,对于相同的str测试,regexp.test()返回false并且它转到else...这是什么行为?我已经运行了很多测试...TL/DR:对于在同一个RegExp上测试的同一个字符串,如果只有一个IF语句,则regexp.test()返回true,但如果我有一个else,它返回false。so